home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 14439 / 14439.xpi / chrome / tabber.jar / content / settings.js < prev    next >
Text File  |  2009-10-25  |  3KB  |  102 lines

  1. var cb;
  2.  
  3. window.addEventListener("load", function() {
  4.     var ai = Components.classes["@mozilla.org/xre/app-info;1"];
  5.  
  6.     var version = ai.getService(Components.interfaces.nsIXULAppInfo).version;
  7.     if(version.indexOf("3.5") == 0)
  8.         $("fx36").hidden = true;
  9.     else {
  10.         $("fx35").label = $("always").label;
  11.         var o = $("fx35").parentNode.removeChild($("fx35"));
  12.         $("always").parentNode.replaceChild(o, $("always"));
  13.         $("links").addEventListener("command", function() {
  14.             if($("links").checked) $("fx35").checked = false;
  15.         }, false);
  16.         $("fx35").addEventListener("command", function() {
  17.             if($("fx35").checked) $("links").checked = false;
  18.         }, false);
  19.     }
  20.  
  21.     var os = ai.getService(Components.interfaces.nsIXULRuntime).OS;
  22.     if(os == "Darwin") {
  23.         var k = document.getElementsByClassName("key");
  24.         for(var i = 0; i < k.length; i++)
  25.             k[i].label = k[i].label.replace(/Ctrl/, "Cmd");
  26.         $("alt").value = $("alt").value.replace(/Alt/, "Opt");
  27.     }
  28.  
  29.     if($("open_newwindow").value != 3) {
  30.         $("script").hidden = true;
  31.         $("owner").hidden = true;
  32.     }
  33.     else { 
  34.         $("script").checked = $("restriction").value == 0;
  35.         $("script").addEventListener("command", function() {
  36.             $("restriction").value = $("script").checked ? 0 : 2;
  37.         }, false);
  38.     }
  39.  
  40.     ownerOnClose();
  41.     tabClipWidth();
  42.     multiRowTabs();
  43.     tabMaxWidth();
  44.  
  45.     $("select").addEventListener("command", ownerOnClose, false);
  46.     $("button").addEventListener("command", tabClipWidth, false);
  47.     $("tabbar").addEventListener("command", multiRowTabs, false);
  48.     $("min").addEventListener("change", tabMaxWidth, false);
  49.     $("max").addEventListener("change", tabMaxWidth, false);
  50.  
  51.     cb = $("button").selectedIndex + 0;
  52.     var i = cb != 2;
  53.     if(cb == 2) cb = 1;
  54.     $("close").checked = i;
  55.     $("noclose").hidden = i;
  56.     if(!i) $("button").selectedIndex = 2;
  57.     $("button").disabled = !i;
  58.     $("close").addEventListener("command", closeButtons, false);
  59.  
  60.     window.addEventListener("beforeaccept", function() {
  61.         var b = $("button").selectedIndex + 0;
  62.         $("button").parentNode.removeChild($("button"));
  63.         $("closeButtons").value = b;
  64.     }, false);
  65.  
  66.     sizeToContent();
  67. }, false);
  68.  
  69. function $(id) {
  70.     return document.getElementById(id);
  71. }
  72.  
  73. function ownerOnClose() {
  74.     var i = $("select").selectedIndex != 0;
  75.     if(i) $("owner").checked = false;
  76.     $("owner").disabled = i;
  77. }
  78.  
  79. function tabClipWidth() {
  80.     var i = $("button").selectedIndex == 1;
  81.     $("clip").hidden = !i;
  82.     $("px").hidden = !i;
  83. }
  84.  
  85. function multiRowTabs() {
  86.     $("multi").disabled = !$("tabbar").checked;
  87. }
  88.  
  89. function tabMaxWidth() {
  90.     if(parseInt($("min").value) > parseInt($("max").value))
  91.         $("max").value = $("min").value;
  92. }
  93.  
  94. function closeButtons() {
  95.     var i = $("close").checked;
  96.     if(!i) cb = $("button").selectedIndex + 0;
  97.     $("noclose").hidden = i;
  98.     $("button").disabled = false;
  99.     $("button").selectedIndex = i ? cb : 2;
  100.     $("button").disabled = !i;
  101.     tabClipWidth();
  102. }